package com.softer.chengxin.userinfo.service;

import com.softer.chengxin.common.domin.CommonResult;
import com.softer.chengxin.common.domin.ManagerPageResult;
import com.softer.chengxin.common.domin.Page;
import com.softer.chengxin.userinfo.entity.UserInfo;
import com.softer.chengxin.userinfo.entity.UserSearch;

import java.util.Map;

/**
 * @author Gong Zhiyang
 * @date 2018/10/13
 */
public interface UserInfoService {
    /**
     * 查询登录用户的身份
     * @param loginName
     * @return
     */
    Map<String,String> getLoginNameRole(String loginName);
    /**
     * 删除管理用户
     *
     * @param id 用户Id
     * @return 处理结果
     */
    CommonResult deleteUserInfo(String id);

    /**
     * 新增管理用户
     *
     * @param userInfo  用户信息
     * @param loginName 登陆名
     * @return
     */
    CommonResult addUserInfo(UserInfo userInfo, String loginName);

    /**
     * 获取用户信息
     *
     * @param id 用户id
     * @return 用户信息
     */
    UserInfo getUserInfoById(Integer id);

    /**
     * 编辑用户信息
     *
     * @param userInfo 用户信息
     * @return 处理结果
     */
    CommonResult updateUserInfo(UserInfo userInfo, String loginName);

    /**
     * 检验用户名是否存在
     *
     * @param userName 用户名
     * @return （2：用户名存在，1，用户名不存在）
     */
    int checkUserName(String userName);

    /**
     * 加载登陆用户创建的用户列表
     *
     * @param page       页面信息
     * @param userSearch 查询实体
     * @param loginName 登陆用户
     * @return 用户列表
     */
    ManagerPageResult load(Page page, String loginName, UserSearch userSearch);
}
